{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 1. 运行课程提供代码如下"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Extracting ./train-images-idx3-ubyte.gz\n",
      "Extracting ./train-labels-idx1-ubyte.gz\n",
      "Extracting ./t10k-images-idx3-ubyte.gz\n",
      "Extracting ./t10k-labels-idx1-ubyte.gz\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 576x576 with 16 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "import cv2 as cv\n",
    "import numpy as np\n",
    "import tensorflow as tf\n",
    "from tensorflow.examples.tutorials.mnist import input_data\n",
    "from matplotlib import pyplot as plt\n",
    "\n",
    "# %matplotlib inline\n",
    "\n",
    "tf.logging.set_verbosity(tf.logging.INFO)\n",
    "mnist = input_data.read_data_sets(\"./\")\n",
    "\n",
    "plt.figure(figsize=(8, 8))\n",
    "\n",
    "for idx in range(16):\n",
    "    plt.subplot(4, 4, idx + 1)\n",
    "    plt.axis('off')\n",
    "    plt.title('[{}]'.format(mnist.train.labels[idx]))\n",
    "    plt.imshow(mnist.train.images[idx].reshape((28, 28)))\n",
    "plt.show()\n",
    "\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "after 100 training steps, the loss is 0.450231, the validation accuracy is 0.8738\n",
      "after 200 training steps, the loss is 0.314138, the validation accuracy is 0.8912\n",
      "after 300 training steps, the loss is 0.264615, the validation accuracy is 0.9258\n",
      "after 400 training steps, the loss is 0.125353, the validation accuracy is 0.9342\n",
      "after 500 training steps, the loss is 0.344427, the validation accuracy is 0.905\n",
      "after 600 training steps, the loss is 0.239953, the validation accuracy is 0.9498\n",
      "WARNING:tensorflow:From D:\\ProgramData\\Anaconda3\\lib\\site-packages\\tensorflow\\python\\training\\saver.py:960: remove_checkpoint (from tensorflow.python.training.checkpoint_management) is deprecated and will be removed in a future version.\n",
      "Instructions for updating:\n",
      "Use standard file APIs to delete files with this prefix.\n",
      "after 700 training steps, the loss is 0.19984, the validation accuracy is 0.9384\n",
      "after 800 training steps, the loss is 0.143469, the validation accuracy is 0.9498\n",
      "after 900 training steps, the loss is 0.225168, the validation accuracy is 0.9438\n",
      "the training is finish!\n",
      "the test accuarcy is: 0.9547\n"
     ]
    }
   ],
   "source": [
    "x = tf.placeholder(\"float\", [None, 784])\n",
    "y = tf.placeholder(\"int64\", [None])\n",
    "learning_rate = tf.placeholder(\"float\")\n",
    "\n",
    "\n",
    "def initialize(shape, stddev=0.1):\n",
    "    return tf.truncated_normal(shape, stddev=0.1)\n",
    "\n",
    "\n",
    "L1_units_count = 100\n",
    "\n",
    "W_1 = tf.Variable(initialize([784, L1_units_count]))\n",
    "b_1 = tf.Variable(initialize([L1_units_count]))\n",
    "logits_1 = tf.matmul(x, W_1) + b_1\n",
    "output_1 = tf.nn.relu(logits_1)\n",
    "\n",
    "L2_units_count = 10\n",
    "W_2 = tf.Variable(initialize([L1_units_count, L2_units_count]))\n",
    "b_2 = tf.Variable(initialize([L2_units_count]))\n",
    "logits_2 = tf.matmul(output_1, W_2) + b_2\n",
    "\n",
    "logits = logits_2\n",
    "\n",
    "cross_entropy_loss = tf.reduce_mean(\n",
    "    tf.nn.sparse_softmax_cross_entropy_with_logits(logits=logits, labels=y))\n",
    "\n",
    "optimizer = tf.train.GradientDescentOptimizer(\n",
    "    learning_rate=learning_rate).minimize(cross_entropy_loss)\n",
    "\n",
    "pred = tf.nn.softmax(logits)\n",
    "correct_pred = tf.equal(tf.argmax(pred, 1), y)\n",
    "accuracy = tf.reduce_mean(tf.cast(correct_pred, tf.float32))\n",
    "\n",
    "batch_size = 32\n",
    "trainig_step = 1000\n",
    "\n",
    "saver = tf.train.Saver()\n",
    "\n",
    "with tf.Session() as sess:\n",
    "    sess.run(tf.global_variables_initializer())\n",
    "\n",
    "    # 定义验证集与测试集\n",
    "    validate_data = {\n",
    "        x: mnist.validation.images,\n",
    "        y: mnist.validation.labels,\n",
    "    }\n",
    "    test_data = {x: mnist.test.images, y: mnist.test.labels}\n",
    "\n",
    "    for i in range(trainig_step):\n",
    "        xs, ys = mnist.train.next_batch(batch_size)\n",
    "        _, loss = sess.run(\n",
    "            [optimizer, cross_entropy_loss],\n",
    "            feed_dict={\n",
    "                x: xs,\n",
    "                y: ys,\n",
    "                learning_rate: 0.3\n",
    "            })\n",
    "\n",
    "        # 每100次训练打印一次损失值与验证准确率\n",
    "        if i > 0 and i % 100 == 0:\n",
    "            validate_accuracy = sess.run(accuracy, feed_dict=validate_data)\n",
    "            print(\n",
    "                \"after %d training steps, the loss is %g, the validation accuracy is %g\"\n",
    "                % (i, loss, validate_accuracy))\n",
    "            saver.save(sess, './model_1/model_trained.ckpt', global_step=i)\n",
    "\n",
    "    print(\"the training is finish!\")\n",
    "    # 最终的测试准确率\n",
    "    acc = sess.run(accuracy, feed_dict=test_data)\n",
    "    print(\"the test accuarcy is:\", acc)\n",
    "\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "WARNING:tensorflow:From D:\\ProgramData\\Anaconda3\\lib\\site-packages\\tensorflow\\python\\training\\saver.py:1276: checkpoint_exists (from tensorflow.python.training.checkpoint_management) is deprecated and will be removed in a future version.\n",
      "Instructions for updating:\n",
      "Use standard file APIs to check for files with this prefix.\n",
      "INFO:tensorflow:Restoring parameters from ./model_1/model_trained.ckpt-900\n",
      "0.96\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 720x720 with 25 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "with tf.Session() as sess:\n",
    "    ckpt = tf.train.get_checkpoint_state('./model_1/')\n",
    "    if ckpt and ckpt.model_checkpoint_path:\n",
    "        saver.restore(sess, ckpt.model_checkpoint_path)\n",
    "        final_pred, acc = sess.run(\n",
    "            [pred, accuracy],\n",
    "            feed_dict={\n",
    "                x: mnist.test.images[:25],\n",
    "                y: mnist.test.labels[:25]\n",
    "            })\n",
    "        orders = np.argsort(final_pred)\n",
    "        plt.figure(figsize=(10, 10))\n",
    "        print(acc)\n",
    "        for idx in range(25):\n",
    "            order = orders[idx, :][-1]\n",
    "            prob = final_pred[idx, :][order]\n",
    "            plt.subplot(5, 5, idx + 1)\n",
    "            plt.axis('off')\n",
    "            plt.title('{}: [{}]-[{:.1f}%]'.format(mnist.test.labels[idx],\n",
    "                                                  order, prob * 100))\n",
    "            plt.imshow(mnist.test.images[idx].reshape((28, 28)))\n",
    "\n",
    "        plt.show()\n",
    "\n",
    "    else:\n",
    "        pass\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 2. 对模型结构的理解\n",
    "#### 对于模型结构我的理解是：\n",
    "1. 对于单层的神经网络，它含有输入层、一个隐层和输出层，而感知机和单层神经网络的区别就在于激活函数由阶跃函数换成非线性函数。\n",
    "2. 对于本程序，所用的是两层的神经网络，也就是包含两个隐层，在结构方面，所有同一隐层的神经元都与上一层的每个输出相连，同一隐层的神经元之间不相互连接。\n",
    "3. 对于每一个神经元与前一层的输入之间都附加一个权重。\n",
    "4. 在编写程序时，对于需要更新参数的变量，在定义的时候需要用tf.Variable(),比如权重参数和偏置;而对于输入x和标签y在定义的时候用占位符tf.placeholder()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "\n",
    "\n",
    "# 3. 对模型训练过程（梯度如何计算，参数如何更新）的理解\n",
    "#### 训练过程的理解如下：\n",
    "1. 对于神经网络采用的损失函数为交叉熵损失，参数更新的方法为梯度下降。参数调整的算法为反向传播算法，核心是通过比较输出y和真值t，对参与计算的w进行调整。\n",
    "2. 梯度计算的过程:梯度的计算是通过对每个权重进行求偏导数，然后在负梯度方向对权重参数进行更新，在偏导的求解过程中，最核心的思想是通过链式法则。\n",
    "3. 参数更新采用的是负梯度方向，用之前的参数减学习率乘以损失函数对该权重参数的偏导。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 4. 对计算图的理解"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "    计算图主要由四个部分构成：1、张量（Tensor） 2、操作（Operation） 3、变量（Variable） 4、会话（Session）\n",
    "    其中，变量是在优化运算过程中可以进行更新的，被定义成变量Variable，比如权重参数和偏置，而像输入特征x则用占位符placeholder()定义。\n",
    "    操作operation，则是专门运算的操作节点，所有操作都是一个op，比如加法，乘法。\n",
    "    而会话Session则是用来运行整个图的。\n",
    "    \n",
    "    首先定义计算图的概念，计算图是有向图，神经网络是其特殊形式, 其中节点对应于操作或变量。变量可以将其值提供给操作，操作可以将其输出提供给其他操作。这样，图中的每个节点都定义了变量的函数。进入节点并从节点出来的值称为张量(多维数组的另一别称),它包含标量，向量和矩阵以及更高等级的张量。“从左向右进行计算”是一种正方向上的传播，简称为正向传播（forward propagation）。正向传播是从计算图出发点到结束点的传播。既然有正向传播这个名称，当然也可以考虑反向（从图上看的话，就是从右向左）的传播。实际上，这种传播称为反向传播（backward propagation）。而传播的是线上的张量！\n",
    "    \n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 5. 解释这里的模型为什么效果比较差"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "模型效果差的原因有：\n",
    "1. 神经网络只有两层,层数太少，神经元数目较少。\n",
    "2. 采用的学习率为固定学习率。\n",
    "3. 训练次数不够"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.4"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
